/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.beans;

//import java.sql.Connection;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import com.mysql.jdbc.Connection;
//import com.mysql.jdbc.PreparedStatement;

import com.util.Conectar;
import com.util.Utils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.naming.NamingException;

/**
 *
 * @author victor
 */
public class ListaOferta {
    ArrayList lista;
    int elementos;

    public int getElementos() {
        return elementos;
    }

    public void setElementos(int elementos) {
        this.elementos = elementos;
    }

    public ArrayList getLista() {
        return lista;
    }

    public void setLista(ArrayList lista) {
        this.lista = lista;
    }
    
    /*public void todasOfertas(String usuario){
        this.todasOfertas(false,usuario);
    }*/
    /**
     * 
     * @param historica true si queremos las ofertas guardadas
     */
    public void todasOfertas(boolean historica,String usuario){
        String tipo;
        if(historica){
            tipo="SI";
        }else{
            tipo="NO";
        }
        this.elementos=0;
        Connection conexion=null;
        ResultSet rs=null;
        try {
            conexion = Conectar.getConnection();
            String selectCustomerStr = "SELECT * FROM ofertas where historica=? and autor=? order by idOferta desc";
            PreparedStatement selectStatement = null;
            selectStatement =  conexion.prepareStatement(selectCustomerStr);
            selectStatement.setString(1, tipo);
            selectStatement.setString(2, usuario);
            rs = selectStatement.executeQuery();
            OfertaBean oferta;
            lista=new ArrayList();
            String aux;
            while (rs.next()){
                this.elementos++;
                oferta=new OfertaBean();
                oferta.setIdOferta(rs.getString(1));
                oferta.setTitular(rs.getString(2));
                oferta.setArchivo(rs.getString(3));
                oferta.setAutor(rs.getString(4));
                aux=Utils.fecha( rs.getString(5));
                oferta.setFechaAlta(aux);
                oferta.setCategoria(rs.getString(6));
                oferta.setTipo(rs.getString(7));
                oferta.setFileArchivo(rs.getString(9));
                lista.add(oferta);
            }
            
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally{
            try {
                if(rs!=null)rs.close();
                if(conexion!=null)conexion.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    
    }
    /**
     * Consulta las ofertas dependiendo del filtro que se le pase. Si filtro es
     * 1 consulta las publicas, si es 2 consulta las privadas.
     * @param filtro Si filtro=1 se consultan las de empleo publico, si filtro=2
     * se conultan las de empleo privado.
     */
    public void todasOfertas(String filtro){
        this.elementos=0;
        Connection conexion;
        try {
            conexion = Conectar.getConnection();
            String selectCustomerStr = "SELECT * FROM ofertas where historica='NO' and tipo=? order by idOferta desc";
            PreparedStatement selectStatement = null;
            selectStatement =  conexion.prepareStatement(selectCustomerStr);
            selectStatement.setString(1, filtro);
            ResultSet rs = selectStatement.executeQuery();
            OfertaBean oferta;
            lista=new ArrayList();
            String aux;
            while (rs.next()){
                this.elementos++;
                oferta=new OfertaBean();
                oferta.setIdOferta(rs.getString(1));
                oferta.setTitular(rs.getString(2));
                oferta.setArchivo(rs.getString(3));
                oferta.setAutor(rs.getString(4));
                aux=Utils.fecha( rs.getString(5));
                oferta.setFechaAlta(aux);
                oferta.setCategoria(rs.getString(6));
                oferta.setTipo(rs.getString(7));
                oferta.setFileArchivo(rs.getString(9));
                lista.add(oferta);
            }
            rs.close();
            conexion.close();
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } 
    }
    public void todasOfertas(){
        this.elementos=0;
        Connection conexion;
        try {
            conexion = Conectar.getConnection();
            String selectCustomerStr = "SELECT * FROM ofertas where historica='NO' order by idOferta desc";
            PreparedStatement selectStatement = null;
            selectStatement =  conexion.prepareStatement(selectCustomerStr);
            
            ResultSet rs = selectStatement.executeQuery();
            OfertaBean oferta;
            lista=new ArrayList();
            String aux;
            while (rs.next()){
                this.elementos++;
                oferta=new OfertaBean();
                oferta.setIdOferta(rs.getString(1));
                oferta.setTitular(rs.getString(2));
                oferta.setArchivo(rs.getString(3));
                oferta.setAutor(rs.getString(4));
                aux=Utils.fecha( rs.getString(5));
                oferta.setFechaAlta(aux);
                oferta.setCategoria(rs.getString(6));
                oferta.setTipo(rs.getString(7));
                oferta.setFileArchivo(rs.getString(9));                
                lista.add(oferta);
            }
            rs.close();
            conexion.close();
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } 
    
    }
    
}
